package com.ruoyi.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * MyBatis-Plus 配置类
 * 1. 扫描 Mapper 接口路径（替代启动类上的 @MapperScan）
 * 2. 注册分页插件
 */
@Configuration
@MapperScan("com.ruoyi.system.mapper") // 集中管理 Mapper 扫描路径
public class MybatisPlusConfig {

    /**
     * 注册 MyBatis-Plus 插件
     * 注意：若需多个插件，分页插件需最后添加（避免分页计数错误）
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 分页插件（适配 MySQL 数据库）
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        // 可添加其他插件（如乐观锁、动态表名等）
        return interceptor;
    }
}
